[INFO] fetching crate nut 0.1.1...
[INFO] checking nut-0.1.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate nut 0.1.1 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate nut 0.1.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nut 0.1.1
[INFO] finished tweaking crates.io crate nut 0.1.1
[INFO] tweaked toml for crates.io crate nut 0.1.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate crates.io crate nut 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hexdump v0.1.1
[INFO] [stderr]   Downloaded page_size v0.4.2
[INFO] [stderr]   Downloaded poolcache v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1b5c5ccee5e2047bd9c8351027e8e719bab1b641be00e71b8790bf64abb32bc0
[INFO] running `Command { std: "docker" "start" "-a" "1b5c5ccee5e2047bd9c8351027e8e719bab1b641be00e71b8790bf64abb32bc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b5c5ccee5e2047bd9c8351027e8e719bab1b641be00e71b8790bf64abb32bc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b5c5ccee5e2047bd9c8351027e8e719bab1b641be00e71b8790bf64abb32bc0", kill_on_drop: false }`
[INFO] [stdout] 1b5c5ccee5e2047bd9c8351027e8e719bab1b641be00e71b8790bf64abb32bc0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bac5dae189da1a5224a84aa5aa5e403df01f6f447447a619c87bdc1b911fb8c2
[INFO] running `Command { std: "docker" "start" "-a" "bac5dae189da1a5224a84aa5aa5e403df01f6f447447a619c87bdc1b911fb8c2", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking either v1.7.0
[INFO] [stderr]     Checking poolcache v0.1.1
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking hexdump v0.1.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking page_size v0.4.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking nut v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib) due to 10 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/page/tests.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]   |         ----^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/page/tests.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib test) due to 10 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bac5dae189da1a5224a84aa5aa5e403df01f6f447447a619c87bdc1b911fb8c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bac5dae189da1a5224a84aa5aa5e403df01f6f447447a619c87bdc1b911fb8c2", kill_on_drop: false }`
[INFO] [stdout] bac5dae189da1a5224a84aa5aa5e403df01f6f447447a619c87bdc1b911fb8c2
[INFO] checking nut-0.1.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate nut 0.1.1 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate nut 0.1.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nut 0.1.1
[INFO] finished tweaking crates.io crate nut 0.1.1
[INFO] tweaked toml for crates.io crate nut 0.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate crates.io crate nut 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ea23ae50db67aaefe9fe378e4da873694ad7c6b0add636a00ab69e440837c1f
[INFO] running `Command { std: "docker" "start" "-a" "7ea23ae50db67aaefe9fe378e4da873694ad7c6b0add636a00ab69e440837c1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ea23ae50db67aaefe9fe378e4da873694ad7c6b0add636a00ab69e440837c1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ea23ae50db67aaefe9fe378e4da873694ad7c6b0add636a00ab69e440837c1f", kill_on_drop: false }`
[INFO] [stdout] 7ea23ae50db67aaefe9fe378e4da873694ad7c6b0add636a00ab69e440837c1f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e6ae6a126683891f0e8f3fc31057e9e31e99cd208f4b57c765c6d843200bbdf
[INFO] running `Command { std: "docker" "start" "-a" "4e6ae6a126683891f0e8f3fc31057e9e31e99cd208f4b57c765c6d843200bbdf", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking poolcache v0.1.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking either v1.7.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking hexdump v0.1.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking page_size v0.4.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking nut v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:186:36
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 let slice = &value[IBucket::SIZE..];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:532:34
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         for i in 0..page_count {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:619:30
[INFO] [stdout]     |
[INFO] [stdout] 619 |                     for i in 0..p.count as usize {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:747:43
[INFO] [stdout]     |
[INFO] [stdout] 747 |             let mut page_buf = &mut value[IBucket::SIZE..];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/bucket/cursor.rs:398:22
[INFO] [stdout]     |
[INFO] [stdout] 398 |             for i in stack.len() - 1..=0 {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/db/db.rs:288:18
[INFO] [stdout]     |
[INFO] [stdout] 288 |         for i in 0..=1 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/db/db.rs:674:18
[INFO] [stdout]     |
[INFO] [stdout] 674 |         for i in 15..=30 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/db/db.rs:731:73
[INFO] [stdout]     |
[INFO] [stdout] 731 |         RwLockReadGuard::map(mmap, |mmap| Page::from_buf(&mmap.as_ref()[pos..]))
[INFO] [stdout]     |                                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/db/db.rs:738:37
[INFO] [stdout]     |
[INFO] [stdout] 738 |         Page::from_buf_mut(&mut buf[pos..endpos])
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/freelist/mod.rs:82:28
[INFO] [stdout]    |
[INFO] [stdout] 82 |             self.ids.drain(index..index + span as usize);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/freelist/mod.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 |             for i in 0..span {
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/freelist/mod.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |         for id in p.id..=max {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/freelist/mod.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |             self.ids = ids[idx..count].to_vec();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/node/node.rs:180:54
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let nodes = self.0.inodes.borrow_mut().drain(split_index..).collect();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/node/node.rs:661:18
[INFO] [stdout]     |
[INFO] [stdout] 661 |         for i in 0..page.count as usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:528:18
[INFO] [stdout]     |
[INFO] [stdout] 528 |         for i in 0..=freelist_overflow {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 |         for i in 0..self.0.meta.try_read().unwrap().pgid {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:567:22
[INFO] [stdout]     |
[INFO] [stdout] 567 |             for i in 0..=p.overflow {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:721:18
[INFO] [stdout]     |
[INFO] [stdout] 721 |         for i in 0..count {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/concurrency_tests.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 |         for i in 10..10 + number_of_values {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/concurrency_tests.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 |     for _ in 0..number_of_threads {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/concurrency_tests.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 for i in 10..10 + number_of_values {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/concurrency_tests.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 125 |     for _ in 1..=n_runs {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/concurrency_tests.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |         for n in 0..n_wthreads {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/concurrency_tests.rs:134:26
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 for i in 0..n_wvalues {
[INFO] [stdout]     |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/concurrency_tests.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |         for _ in 0..n_threads {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/concurrency_tests.rs:152:26
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 for i in 0..n_values {
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:186:36
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 let slice = &value[IBucket::SIZE..];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:532:34
[INFO] [stdout]     |
[INFO] [stdout] 532 |                         for i in 0..page_count {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:619:30
[INFO] [stdout]     |
[INFO] [stdout] 619 |                     for i in 0..p.count as usize {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bucket/bucket.rs:747:43
[INFO] [stdout]     |
[INFO] [stdout] 747 |             let mut page_buf = &mut value[IBucket::SIZE..];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/bucket/cursor.rs:398:22
[INFO] [stdout]     |
[INFO] [stdout] 398 |             for i in stack.len() - 1..=0 {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/db/tests.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |     for i in 0..10 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/db/tests.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for i in 0..10 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/db/db.rs:288:18
[INFO] [stdout]     |
[INFO] [stdout] 288 |         for i in 0..=1 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/db/db.rs:674:18
[INFO] [stdout]     |
[INFO] [stdout] 674 |         for i in 15..=30 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/db/db.rs:731:73
[INFO] [stdout]     |
[INFO] [stdout] 731 |         RwLockReadGuard::map(mmap, |mmap| Page::from_buf(&mmap.as_ref()[pos..]))
[INFO] [stdout]     |                                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/db/db.rs:738:37
[INFO] [stdout]     |
[INFO] [stdout] 738 |         Page::from_buf_mut(&mut buf[pos..endpos])
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/freelist/mod.rs:82:28
[INFO] [stdout]    |
[INFO] [stdout] 82 |             self.ids.drain(index..index + span as usize);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/freelist/mod.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 |             for i in 0..span {
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/freelist/mod.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |         for id in p.id..=max {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/freelist/mod.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |             self.ids = ids[idx..count].to_vec();
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/node/tests.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |         data[7..7 + 13].copy_from_slice(b"helloworldbye");
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/node/tests.rs:220:14
[INFO] [stdout]     |
[INFO] [stdout] 220 |     for i in 1..1000 {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/node/node.rs:180:54
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let nodes = self.0.inodes.borrow_mut().drain(split_index..).collect();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/node/node.rs:661:18
[INFO] [stdout]     |
[INFO] [stdout] 661 |         for i in 0..page.count as usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page/tests.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 |     data[7..7 + 13].copy_from_slice("helloworldbye".as_bytes());
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page/tests.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 |     data[7..7 + 13].copy_from_slice("helloworldbye".as_bytes());
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tx/tests.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 |     for i in 0..n_commits {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tx/tests.rs:55:18
[INFO] [stdout]    |
[INFO] [stdout] 55 |         for n in 0..n_values {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tx/tests.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for _ in 0..20 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:528:18
[INFO] [stdout]     |
[INFO] [stdout] 528 |         for i in 0..=freelist_overflow {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 |         for i in 0..self.0.meta.try_read().unwrap().pgid {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:567:22
[INFO] [stdout]     |
[INFO] [stdout] 567 |             for i in 0..=p.overflow {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tx/tx.rs:721:18
[INFO] [stdout]     |
[INFO] [stdout] 721 |         for i in 0..count {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib) due to 10 previous errors; 25 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/page/tests.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]   |         ----^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/page/tests.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib test) due to 10 previous errors; 44 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "4e6ae6a126683891f0e8f3fc31057e9e31e99cd208f4b57c765c6d843200bbdf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e6ae6a126683891f0e8f3fc31057e9e31e99cd208f4b57c765c6d843200bbdf", kill_on_drop: false }`
[INFO] [stdout] 4e6ae6a126683891f0e8f3fc31057e9e31e99cd208f4b57c765c6d843200bbdf
